﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZBJF.Warranty.Model;
using ZBJF.Warranty.Model.ViewModel.AuditConfig;
using ZBJF.Warranty.Model.ViewModel.InsuranceWarranty;

namespace ZBJF.Warranty.IBLL
{
    public partial interface IAuditProjectConfigurationService
    {

        /// <summary>
        /// 根据主键ID获取项目审核配置
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        AuditProjectConfiguration LoadByID(int id);

        /// <summary>
        /// 判断项目审核配置是否存在
        /// </summary>
        /// <param name="auditProjectWithType">审核项目编码</param>
        /// <param name="projectName">项目字段名称</param>
        /// <param name="id"></param>
        /// <returns></returns>
        bool IsExist(long auditProjectWithType, string projectName, int id = 0);

        /// <summary>
        /// 分页获取项目审核配置列表
        /// </summary>
        /// <param name="model">过滤条件</param>
        /// <param name="total">总数量</param>
        /// <returns></returns>
        IQueryable<AuditProjectConfiguration> GetPagingList(AuditProjectConfigurationModel model, out int total);
        /// <summary>
        /// 根据审核项目删除审核项目选项
        /// </summary>
        /// <param name="id">审核项目ID</param>
        /// <returns></returns>
        bool DeleteAuditProjectOption(int id);

        List<AuditProjectConfigurationSelectModel> GetAllAuditModel();
    }
}
